using System;
using System.Collections.Generic;
using System.Text;

using SlimDX;
using SlimDX.Direct3D9;
using SlimDX.Windows;

namespace miciv.Rendering
{
    public interface IRenderable
    {
        IRenderer Renderer { get; }
        Matrix World { get; }
        List<IRendererContext> RestrictedRendererContexts { get; set; }
        void UpdateData(float _deltaTime);
        T[] GetRawVertexBuffer<T>(out int _sCount, out PrimitiveType _primType);
        ManagedVertexBuffer<T> GetVertexBuffer<T>(out int _sCount, out PrimitiveType _primType) where T : struct;
        List<IVertexFeeder> VertexFeeders { get; set; }
    }
}
